home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacHack 1996
/
MacHack 1996.toast
/
Presentations
/
Presentations ’88
/
Feldt Advanced Mac Programming
/
Serial Port
/
termdemo.pas
< prev
Wrap
Pascal/Delphi Source File
|
1992-06-28
|
2KB
|
40 lines
PROGRAM TermDemo;
VAR
Event : EventRecord; { event record structure instance } whatHappened : EventStuff; { event detail structure instance } appleMenu,fileMenu,editMenu : MenuHandle; { handles for std menus } PortA : SerialPort; { serial port data structure }
wPtr : WindowPtr;
termPtr : TermData^;
BEGIN
XTCommInit; { init Toolbox managers, Extender }
termPtr := CrtTermWindow(Nil); { create term window and record }
InitSPort(@PortA,'A'); { open and init modem serial port }
PortA.baud := baud1200; {1200baud transmission rate }
PortA.parity := noparity; {set character parity to none }
PortA.stopbits := stop20; {set to 2 stopbits per character }
PortA.databits := data8; {set to 8 databits per character }
SetSPort(@PortA); {set modem port to above values }
PortA.inbufsize := 2048; {set input buffer to 1024 bytes (1K) }
PortA.in := NewPointer(Ord4(2048)); {set address of input buffer }
PortA.outbufsize := 0; {leave output buffer untouched }
SetBufSPort(@PortA); {set modem port to above values }
termPtr^.commPort:= @PortA; {link term window and modem port }
wPtr := termPtr^.commWindow; {save term WindowPtr for later use }
ShowWindow(wPtr); {make term window visible, active }
REPEAT
REPEAT
CheckPort(termPtr); { check for chars arriving at port }
SystemTask; { slice of cpu time for DAs } UNTIL GetNextEvent(everyEvent,Event); { until event occurs }
HandleEvent(Event,whatHappened);
UNTIL ExitRequest(whatHappened);
KillWindow(wPtr); { remove window & data structures }
ResetSPort(@PortA); { release serial port driver }
END.